Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Text

Namespace C4F.DevKit.Telephony

	''' <summary>
	''' Represents a call.
	''' </summary>
	Public Class CallInfo

		#Region "Internal Members"

		''' <summary>
		''' Id of the caller party.
		''' </summary>
		Friend callerId_Renamed As String

		''' <summary>
		''' Id of the called party.
		''' </summary>
		Friend calledId_Renamed As String

		''' <summary>
		''' Direction of the call.
		''' </summary>
		Friend callDirection_Renamed As CallDirection

		''' <summary>
		''' State of the call.
		''' </summary>
		Friend callState_Renamed As CallState

		''' <summary>
		''' Hash code to uniquely identify a call.
		''' </summary>
		Friend hashCode As Integer

		''' <summary>
		''' Represents the time when the call was initiated.
		''' </summary>
		Friend callInitiateTime_Renamed As DateTime

		''' <summary>
		''' Represents the time when the call was connected.
		''' </summary>
		Friend startTime_Renamed As DateTime

		''' <summary>
		''' Represents the time when the call was disconnected.
		''' </summary>
		Friend endTime_Renamed As DateTime

		''' <summary>
		''' Name of the communication line.
		''' </summary>
		Friend lineName_Renamed As String

		#End Region

		#Region "Public Properties"

		''' <summary>
		''' Id of the caller party.
		''' </summary>
		Public ReadOnly Property CallerId() As String

			Get
				Return Me.callerId_Renamed
			End Get

		End Property

		''' <summary>
		''' Id of the called party.
		''' </summary>
		Public ReadOnly Property CalledId() As String

			Get
				Return Me.calledId_Renamed
			End Get

		End Property

		''' <summary>
		''' Direction of the call.
		''' </summary>
		Public ReadOnly Property CallDirection() As CallDirection

			Get
				Return Me.callDirection_Renamed
			End Get

		End Property

		''' <summary>
		''' State of the call.
		''' </summary>
		Public ReadOnly Property CallState() As CallState

			Get
				Return Me.callState_Renamed
			End Get

		End Property

		''' <summary>
		''' Represents the time when the call was initiated.
		''' </summary>
		Public ReadOnly Property CallInitiateTime() As DateTime

			Get
				Return Me.callInitiateTime_Renamed
			End Get

		End Property

		''' <summary>
		''' Represents the time when the call was connected.
		''' </summary>
		Public ReadOnly Property StartTime() As DateTime

			Get
				Return Me.startTime_Renamed
			End Get

		End Property

		''' <summary>
		''' Represents the time when the call was disconnected.
		''' </summary>
		Public ReadOnly Property EndTime() As DateTime

			Get
				Return Me.endTime_Renamed
			End Get

		End Property

		''' <summary>
		''' Name of the communication line.
		''' </summary>
		Public ReadOnly Property LineName() As String

			Get
				Return Me.lineName_Renamed
			End Get

		End Property

		#End Region

	End Class
End Namespace
